اگر نظری ثبت نشده باشد جای نمایش پیغام پیشفرض ووکارس پیغام از کد زیر گرفته میشود.

<script>
jQuery(document).ready(function ($) {
  const filterButtonsHTML = `
        <div id="sigmaweb-review-filters" style="margin-bottom: 15px;">
            <button class="sigmaweb-filter-btn active" data-rating="all">همه</button>
            <button class="sigmaweb-filter-btn" data-rating="5"><i aria-hidden="true" class="fas fa-star"></i> 5</button>
            <button class="sigmaweb-filter-btn" data-rating="4"><i aria-hidden="true" class="fas fa-star"></i> 4</button>
            <button class="sigmaweb-filter-btn" data-rating="3"><i aria-hidden="true" class="fas fa-star"></i> 3</button>
            <button class="sigmaweb-filter-btn" data-rating="2"><i aria-hidden="true" class="fas fa-star"></i> 2</button>
            <button class="sigmaweb-filter-btn" data-rating="1"><i aria-hidden="true" class="fas fa-star"></i> 1</button>
        </div>
        `;

  // حذف پیام پیش‌فرض ووکامرس
  $(".woocommerce-noreviews").remove();

  // اضافه کردن دکمه‌ها بالای نظرات
  $("#comments .woocommerce-Reviews-title").after(filterButtonsHTML);

  // ایجاد پیام مخفی
  if ($("#sigmaweb-no-comments-message").length === 0) {
    $("#comments").append(
      '<p id="sigmaweb-no-comments-message" style="display:none;"></p>'
    );
  }

  // اگر در ابتدا هیچ نظری نیست و دکمه همه فعال است، پیام نمایش داده شود
  if ($(".commentlist li").length === 0) {
    $("#sigmaweb-no-comments-message")
      .text("نظری برای این محصول ثبت نشده.")
      .show();
  }

  // کلیک روی دکمه‌ها
  $(document).on("click", ".sigmaweb-filter-btn", function () {
    var rating = $(this).data("rating");

    $(".sigmaweb-filter-btn").removeClass("active");
    $(this).addClass("active");

    $("#sigmaweb-no-comments-message").hide();

    if (rating === "all") {
      $(".commentlist li").show();

      // اگر هیچ نظری نیست
      if ($(".commentlist li").length === 0) {
        $("#sigmaweb-no-comments-message")
          .text("نظری برای این محصول ثبت نشده.")
          .show();
      }
    } else {
      $(".commentlist li").hide();

      var filtered = $(".commentlist li").filter(function () {
        return (
          $(this).find('.star-rating[aria-label="امتیاز ' + rating + ' از 5"]')
            .length > 0
        );
      });

      if (filtered.length > 0) {
        filtered.show();
      } else {
        $("#sigmaweb-no-comments-message")
          .text("نظری با این امتیاز یافت نشد.")
          .show();
      }
    }
  });
});
</script>
